﻿//PlazaMarketMakingDerivativeColumns.cs
//Copyright (c) 2013 StockSharp LLC, all rights reserved.
//This code module is part of StockSharp library.
//This code is licensed under the GNU GENERAL PUBLIC LICENSE Version 3.
//See the file License.txt for the license details.
//More info on: http://stocksharp.com

namespace StockSharp.Plaza.Metadata
{
	using System;

	/// <summary>
	/// Колонки таблицы, содержащей информация об обязательствах ММ.
	/// FORTS_MM_REPL - таблица fut_MM_info.
	/// FORTS_MM_REPL - таблица opt_MM_info.
	/// </summary>
	public abstract class PlazaMarketMakingDerivativeColumns : PlazaColumns
	{
		internal PlazaMarketMakingDerivativeColumns(string tableId)
			: base(tableId)
		{
			IsinId = new PlazaColumn(TableId, "isin_id", typeof(int));
			SessionId = new PlazaColumn(TableId, "sess_id", typeof(int));
			Spread = new PlazaColumn(TableId, "spread", "d16.5");
			PriceEdgeSell = new PlazaColumn(TableId, "price_edge_sell", "d16.5");
			AmountSells = new PlazaColumn(TableId, "amount_sells", typeof(int));
			PriceEdgeBuy = new PlazaColumn(TableId, "price_edge_buy", "d16.5");
			AmountBuys = new PlazaColumn(TableId, "amount_buys", typeof(int));
			MarketMakingSpread = new PlazaColumn(TableId, "mm_spread", "d16.5");
			MarketMakingAmount = new PlazaColumn(TableId, "mm_amount", typeof(int));
			SpreadSign = new PlazaColumn(TableId, "spread_sign", "i1");
			AmountSign = new PlazaColumn(TableId, "amount_sign", "i1");
			PercentTime = new PlazaColumn(TableId, "percent_time", "d6.2");
			PeriodStart = new PlazaColumn(TableId, "period_start", typeof(DateTime));
			PeriodEnd = new PlazaColumn(TableId, "period_end", typeof(DateTime));
			ClientCode = new PlazaColumn(TableId, "client_code", "c7");
			ActiveSign = new PlazaColumn(TableId, "active_sign", typeof(int));
			AgmtId = new PlazaColumn(TableId, "agmt_id", typeof(int));
		}

		/// <summary>
		/// Уникальный числовой идентификатор инструмента.
		/// </summary>
		public readonly PlazaColumn IsinId;

		/// <summary>
		/// Идентификатор торговой сессии.
		/// </summary>
		public readonly PlazaColumn SessionId;

		/// <summary>
		/// Спред в пунктах.
		/// </summary>
		public readonly PlazaColumn Spread;

		/// <summary>
		/// Цена худшей заявки на продажу, вошедшей в спред.
		/// </summary>
		public readonly PlazaColumn PriceEdgeSell;

		/// <summary>
		/// Кол-во контрактов в заявках на продажу, входящих в спред.
		/// </summary>
		public readonly PlazaColumn AmountSells;

		/// <summary>
		/// Цена худшей заявки на покупку, вошедшей в спред.
		/// </summary>
		public readonly PlazaColumn PriceEdgeBuy;

		/// <summary>
		/// Кол-во контрактов в заявках на покупку, входящих в спред.
		/// </summary>
		public readonly PlazaColumn AmountBuys;

		/// <summary>
		/// Спред по договору.
		/// </summary>
		public readonly PlazaColumn MarketMakingSpread;

		/// <summary>
		/// Кол-во по договору.
		/// </summary>
		public readonly PlazaColumn MarketMakingAmount;

		/// <summary>
		/// Признак: 1 – спред не держится, 0 – держится.
		/// </summary>
		public readonly PlazaColumn SpreadSign;

		/// <summary>
		/// Признак: 1 – кол-во не держится, 0 – держится.
		/// </summary>
		public readonly PlazaColumn AmountSign;

		/// <summary>
		/// Процент выполнения Обязательств.
		/// </summary>
		public readonly PlazaColumn PercentTime;

		/// <summary>
		/// Начало периода действия правил ММ.
		/// </summary>
		public readonly PlazaColumn PeriodStart;

		/// <summary>
		/// Окончание периода действия правил ММ.
		/// </summary>
		public readonly PlazaColumn PeriodEnd;

		/// <summary>
		/// Код клиента.
		/// </summary>
		public readonly PlazaColumn ClientCode;

		/// <summary>
		/// Признак: 1 – запись удалена (стала не активна), 0 – активна.
		/// </summary>
		public readonly PlazaColumn ActiveSign;

		/// <summary>
		/// Номер договора обязательств ММ.
		/// </summary>
		public readonly PlazaColumn AgmtId;
	}
}
